#ifndef CONCRETEGAMEPROTOTYPE_H
#define CONCRETEGAMEPROTOTYPE_H
#include "../Control/GamePrototype.h"
#include "Grid.h"
#include "Color.h"
#include <map>
#include <string>
#include "MobileTile.h"
#include "../Control/Controller.h"
#include "../constantes.h"

using namespace std;
using namespace Control;
namespace Model{
	class ConcreteGamePrototype : public GamePrototype
{
private:
	Grid myGrid;
	map<int,Color*> colors;
	MobileTile* outTile;
public:
	ConcreteGamePrototype(void);
	~ConcreteGamePrototype(void);
	ConcreteGamePrototype* clone();
	int addColor(string name);
	void removeColor(int id);
	void preGame();
	friend class Control::Controller;
};
}
#else
namespace Model{
	class ConcreteGamePrototype;
}
#endif
